using System;
using System.Windows;
namespace Microsoft.Phone.Controls
{
	public class NavigationTransition : DependencyObject
	{
		public static readonly DependencyProperty BackwardProperty = DependencyProperty.Register("Backward", typeof(TransitionElement), typeof(NavigationTransition), null);
		public static readonly DependencyProperty ForwardProperty = DependencyProperty.Register("Forward", typeof(TransitionElement), typeof(NavigationTransition), null);
		public event RoutedEventHandler BeginTransition;
		public event RoutedEventHandler EndTransition;
		public TransitionElement Backward
		{
			get
			{
				return (TransitionElement)base.GetValue(NavigationTransition.BackwardProperty);
			}
			set
			{
				base.SetValue(NavigationTransition.BackwardProperty, value);
			}
		}
		public TransitionElement Forward
		{
			get
			{
				return (TransitionElement)base.GetValue(NavigationTransition.ForwardProperty);
			}
			set
			{
				base.SetValue(NavigationTransition.ForwardProperty, value);
			}
		}
		internal void OnBeginTransition()
		{
			if (this.BeginTransition != null)
			{
				this.BeginTransition.Invoke(this, new RoutedEventArgs());
			}
		}
		internal void OnEndTransition()
		{
			if (this.EndTransition != null)
			{
				this.EndTransition.Invoke(this, new RoutedEventArgs());
			}
		}
	}
}
